1. Field of the Invention
The described embodiments relate to techniques for improving the performance of computer systems. More specifically, the described embodiments relate to a method and apparatus for modulating the width of a high-speed link.
2. Related Art
Many computer systems use serializer/deserializer (SERDES) links for high-speed communications. For example, in some computer systems, processors can communicate with one another using SERDES links. In addition, SERDES links may also be used for memory and coherence interconnects.
Generally, a SERDES link includes a set of unidirectional serial lanes. During operation, each lane in a SERDES link is used to transfer a corresponding portion of blocks, or “frames,” of data across the link, while other portions of the frames are being transferred in parallel using the other lanes. Bidirectional communication can be enabled using a SERDES link in each direction between two communicating entities.
Unfortunately, in many systems, the SERDES links consume enough power to have a noticeable impact on the system's power budget. This problem is worsened by the fact that during times when the SERDES links are idle (i.e., not transferring useful data), idle or no-operation (NOP) frames are still sent across the link. In addition, even when the link is idle, “sync frames” must be sent across the link every Nth frame (e.g., 32nd-42nd frame) to ensure that a clock data recovery circuit in a receiver on the SERDES link receives sufficient transitions to maintain the receiver's clock in synchronization with the transmitter's clock. Sending the idle/NOP frames and the sync frames whether or not data is being transferred across the SERDES link, means that the SERDES link consumes power even when useful data is not being transferred across the link.
In an attempt to conserve power on SERDES links, system designers have provided low-power states that can be used to conserve power in periods when the bandwidth demands are very low (e.g., the “L0s” and “L1” states). In the low-power states, the circuits that transmit and receive data on a given SERDES link can be partially or completely shut off to conserve power. For example, in some systems, in the LOs state, no idle/NOP frames are sent across the link, although sync frames are still sent every Nth frame. In contrast, in the L1 state, no frames are sent across the link. However, there is significant protocol overhead associated with entering and exiting the low-power states, which means that transitions into and out of the low-power state require a significant amount of time. Thus, the low-power states are useful only in cases where the system has time available for the transitions.